package com.shy.springframework.util;

/**
 * 类操作工具
 */
public class ClassUtils {
    /**
     * 获取默认类加载器
     * @return
     */
    public static ClassLoader getDefaultClassLoader(){
        ClassLoader cl = null;
        try {
            cl = Thread.currentThread().getContextClassLoader();
        }catch (Throwable ex){
        }
        if (cl == null){
            cl = ClassUtils.class.getClassLoader();
        }
        return cl;
    }

    /**
     * 判断指定的类是否是CGLIB生成
     * @param clazz
     * @return
     */
    public static boolean isCglibProxyClass(Class<?> clazz){
        return clazz != null && isCglibProxyClassName(clazz.getName());
    }

    /**
     * 判断类名是否是CGLIB生成
     * @param className
     * @return
     */
    public static boolean isCglibProxyClassName(String className){
        return className != null && className.contains("$$");
    }
}
